
---@class CustomIdleAction:ActionBase
CustomIdleAction = class(ActionBase)

function CustomIdleAction:GetLabel()
    return ECustomActionLabel.Idle;
end

function CustomIdleAction:GetCost()
    return 0;
end

function CustomIdleAction:GetPriority()
    return 0;
end

function CustomIdleAction:GetCanInterruptiblePlan()
    return false;
end

function CustomIdleAction:InitPreconditions()
    local state = State.new()
    return state;
end

function CustomIdleAction:InitEffects()
    local state = State.new()
    state:Set(ECustomStateKey.Can_move,true);
    state:Set(ECustomStateKey.CanPatrol,true);
    return state;
end
